From 02ae938c238c9d18448d17a8ec92c0edd8c17463 Mon Sep 17 00:00:00 2001
From: Bertrand Yuan <bert.yuan@outlook.com>
Date: Tue, 16 Dec 2025 00:12:49 +0800
Subject: feat(back-end): introduce payload

Payload is the next.js Headless CMS and App Framework,
I would like to pick it up and modify it as it is MIT licensed.

Many features in Payload is not applicable for our project.
So, I modify it so that it is light and clear.
---
 src/app/(home)/posts/[slug]/page.client.tsx | 57 -----------------------------
 1 file changed, 57 deletions(-)
 delete mode 100644 src/app/(home)/posts/[slug]/page.client.tsx

(limited to 'src/app/(home)/posts/[slug]/page.client.tsx')

diff --git a/src/app/(home)/posts/[slug]/page.client.tsx b/src/app/(home)/posts/[slug]/page.client.tsx
deleted file mode 100644
index 7a97f56..0000000
--- a/src/app/(home)/posts/[slug]/page.client.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-'use client';
-import {
-  UploadIcon as ShareIcon,
-  type UploadIconHandle as ShareIconHandle,
-} from '@/components/icons/animated/upload';
-import { Icons } from '@/components/icons/icons';
-import { Button } from '@/components/ui/button';
-import { cn } from '@/lib/utils';
-import { Comments } from '@fuma-comment/react';
-import { redirect } from 'next/navigation';
-import { useRef } from 'react';
-import { toast } from 'sonner';
-import { useCopyToClipboard } from 'usehooks-ts';
-
-export function Share({ url }: { url: string }): React.ReactElement {
-  const iconRef = useRef<ShareIconHandle>(null);
-  const [_, copyToClipboard] = useCopyToClipboard();
-
-  const onClick = async (): Promise<void> => {
-    await copyToClipboard(`${window.location.origin}${url}`);
-    toast.success('Copied to clipboard!', {
-      icon: <Icons.copied className='size-4' />,
-      description: 'The post link has been copied to your clipboard.',
-    });
-  };
-
-  return (
-    <Button
-      className={cn('group gap-2')}
-      variant={'secondary'}
-      onClick={onClick}
-      onMouseEnter={() => iconRef.current?.startAnimation?.()}
-      onMouseLeave={() => iconRef.current?.stopAnimation?.()}
-    >
-      <ShareIcon className='size-4 hover:bg-transparent' ref={iconRef} />
-      Share Post
-    </Button>
-  );
-}
-
-export function PostComments({
-  slug,
-  className,
-}: { slug: string; className?: string }) {
-  return (
-    <Comments
-      page={slug}
-      className={cn('w-full', className)}
-      auth={{
-        type: 'api',
-        signIn: () => {
-          redirect('/login');
-        },
-      }}
-    />
-  );
-}
-- 
cgit v1.2.3

